import {reqGetSearchInfo} from '@/api';
//search模块的仓库
const state = {
    //初始化仓库
    searchList: {},
};
const actions = {
    //获取search模块数据。当前这个getGetSearchInfo这个函数在调用获取服务器数据的时候，至少需要传递一个参数(空对象)
    async getSearchList({commit},params = {}){//第二个参数载荷。
        //params形参：当用户派发action的时候，第二个参数传递过来的至少是一个空对象
        let result = await reqGetSearchInfo(params);
        if (result.code == 200) {
            commit("GETSEARCHLIST",result.data)
        }
    }
};
const mutations = {
    GETSEARCHLIST(state,searchList){
        state.searchList = searchList;
    }
};
//相当于计算属性。在项目当中的getters，为了简化仓库中的数据而生的
//可以把将要在组件当中需要用的数据简化一下(将来组件获取数据的时候就方便了)
const getters = {
    //当前形参state，当前仓库中的state，并非大仓库中的state
    //如果网络慢或断网state.searchList.goodsList是undefined。所以需要赋一个空数组(至少得是一个数组)
    goodsList(state){
        return state.searchList.goodsList;
    },
    trademarkList(state){
        return state.searchList.trademarkList;
    },
    attrsList(state){
        return state.searchList.attrsList;
    }
};
export default {
    state,
    actions,
    mutations,
    getters,
}